package com.antcom.antread.common.core.baseRest.service;

import com.antcom.antread.common.core.baseRest.domain.BaseDomain;
import com.antcom.antread.common.core.baseRest.domain.PageDevice;

import java.util.List;

/**
 *  基础业务层：BaseService 简单的接口 单表实体的保存、删除和获取方法
 *
 * @Author 中国蚂蚁技术有限公司
 * @create 2020/12/27 14:43
 */
public interface BaseRestService<E extends BaseDomain> {


    /**
     * 分页查询
     *
     * @param param 查询条件的json串
     */
    public PageDevice getPage(String param);


    /**
     * 获取全部数据
     * @param
     * @return List集合
     */
    public List<E> findList();

    /**
     * 保存数据（插入或更新）
     *
     * @param param 要保存的参数
     */
    public void save(String param);

    /**
     * 保存数据（插入或更新）
     *
     * @param entity 要保存的参数
     */
    public void save(E entity);

    /**
     * 删除数据
     *
     * @param id 删除数据的标识
     */
    public void delete(String id);

    /**
     * 获取数据
     *
     * @param id 要获取数据的标识
     * @return 获取的数据信息
     */
    public E get(String id);
}
